import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class Server {
    public static void main(String[] args) {
        try {
            // 声明服务器的端口号
            ServerSocket serverSocket = new ServerSocket(8888);
            // 到此会暂停程序，等待接收一个socket后才执行后续操作
            System.out.println("等待TCP协议传输数据");
            Socket socket = serverSocket.accept();

            // 根据socket获得输入流
            InputStream inputStream = socket.getInputStream();
            // 创建输出流
            FileOutputStream fileOutputStream = new FileOutputStream("./test.png");//文件 不要存在，这只是我用来保存文件的位置
            byte[] car = new byte[1024];
            int length = 0;
            // 将接收的输入流写入输出流，即写入本地文件中
            while ((length = inputStream.read(car)) != -1) {
                fileOutputStream.write(car);
            }
            // 刷新缓冲区
            fileOutputStream.flush();
            // 关闭资源
            fileOutputStream.close();
            inputStream.close();
            socket.close();
            System.out.println("TCP协议Socket接受成功");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}